{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "PKMzKghVQCtG"
   },
   "source": [
    "# 🧑‍💻 QA-T Agent: Quality Automation Testing Agent (API Demo)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "w0lyTIeSQIJ2"
   },
   "source": [
    "## Description\n",
    "This notebook demonstrates how to interact with the QA-T Agent backend API for generating test plans and test cases using AI. You can send requirements or files to your running backend and receive generated test artifacts."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ZEVQrjQgZwWz"
   },
   "source": [
    "[![Open in Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/github/DhivyaBharathy-web/PraisonAI/blob/main/examples/cookbooks/PraisonAI_QA_Automation_Copilot.ipynb)\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "QuGDIef8ZBdi"
   },
   "source": [
    "# Dependencies"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "id": "v_ZuycEqXru7"
   },
   "outputs": [],
   "source": [
    "!pip install praisonaiagents duckduckgo-search"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "4N--_TkMZI2T"
   },
   "source": [
    "# Set API Key"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "id": "yXckZn0FYcMS"
   },
   "outputs": [],
   "source": [
    "import os\n",
    "os.environ[\"OPENAI_API_KEY\"] = \"Enter your api key here\"  # Replace with your actual key"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "6n0teEzWZMFq"
   },
   "source": [
    "# Tools Used"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "id": "Su-ZvO2vYi-D"
   },
   "outputs": [],
   "source": [
    "from praisonaiagents import Agent\n",
    "from typing import Dict\n",
    "\n",
    "# --- PROMPT LOGIC FROM YOUR BACKEND ---\n",
    "\n",
    "def gherkin_prompt(requirement, feature_name=\"Test Feature\"):\n",
    "    return f\"\"\"\n",
    "Generate a Gherkin feature file for the following requirement:\n",
    "{requirement}\n",
    "\n",
    "Include:\n",
    "- Feature name: {feature_name}\n",
    "- Multiple scenarios\n",
    "- Given-When-Then steps\n",
    "- Background if needed\n",
    "\n",
    "Format as:\n",
    "Feature: {feature_name}\n",
    "[Description]\n",
    "\n",
    "Scenario: [Scenario Name]\n",
    "Given [precondition]\n",
    "When [action]\n",
    "Then [expected result]\n",
    "\"\"\"\n",
    "\n",
    "def selenium_prompt(requirement, test_name=\"test_case\", language=\"python\"):\n",
    "    return f\"\"\"\n",
    "Generate a Selenium test script in {language} for:\n",
    "{requirement}\n",
    "\n",
    "Include:\n",
    "- Test name: {test_name}\n",
    "- WebDriver setup\n",
    "- Page object pattern\n",
    "- Assertions\n",
    "- Error handling\n",
    "\"\"\"\n",
    "\n",
    "def manual_test_prompt(user_story):\n",
    "    return f\"\"\"\n",
    "Generate manual test cases for this user story:\n",
    "{user_story}\n",
    "\n",
    "Include:\n",
    "- Test case ID\n",
    "- Test steps\n",
    "- Expected results\n",
    "- Test data\n",
    "- Priority levels\n",
    "\n",
    "Format as:\n",
    "Test Case ID: TC001\n",
    "Test Steps:\n",
    "1. [step]\n",
    "2. [step]\n",
    "Expected Result: [result]\n",
    "Priority: [High/Medium/Low]\n",
    "\"\"\"\n",
    "\n",
    "def chat_prompt(question):\n",
    "    return f\"\"\"\n",
    "Answer this testing question: {question}\n",
    "\n",
    "Provide:\n",
    "- Clear explanation\n",
    "- Best practices\n",
    "- Examples if relevant\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "wb-qb4N2ZQWw"
   },
   "source": [
    "# YAML Prompt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "WUEPjwKAYm6M",
    "outputId": "ad38c608-b7b4-4f88-e173-f7b799e59e9c"
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "name: QA Test Generation Agent\n",
      "description: AI-powered test automation system\n",
      "\n",
      "tools:\n",
      "  - name: generate_gherkin\n",
      "    description: Generate Gherkin feature files from user stories\n",
      "    parameters:\n",
      "      requirement: str\n",
      "      feature_name: str\n",
      "\n",
      "  - name: generate_selenium\n",
      "    description: Generate Selenium test scripts in Python\n",
      "    parameters:\n",
      "      requirement: str\n",
      "      test_name: str\n",
      "      language: str\n",
      "\n",
      "  - name: generate_manual_tests\n",
      "    description: Generate manual test cases\n",
      "    parameters:\n",
      "      user_story: str\n",
      "\n",
      "  - name: chat_assistance\n",
      "    description: Provide testing guidance and explanations\n",
      "    parameters:\n",
      "      question: str\n",
      "\n"
     ]
    }
   ],
   "source": [
    "yaml_prompt = \"\"\"\n",
    "name: QA Test Generation Agent\n",
    "description: AI-powered test automation system\n",
    "\n",
    "tools:\n",
    "  - name: generate_gherkin\n",
    "    description: Generate Gherkin feature files from user stories\n",
    "    parameters:\n",
    "      requirement: str\n",
    "      feature_name: str\n",
    "\n",
    "  - name: generate_selenium\n",
    "    description: Generate Selenium test scripts in Python\n",
    "    parameters:\n",
    "      requirement: str\n",
    "      test_name: str\n",
    "      language: str\n",
    "\n",
    "  - name: generate_manual_tests\n",
    "    description: Generate manual test cases\n",
    "    parameters:\n",
    "      user_story: str\n",
    "\n",
    "  - name: chat_assistance\n",
    "    description: Provide testing guidance and explanations\n",
    "    parameters:\n",
    "      question: str\n",
    "\"\"\"\n",
    "print(yaml_prompt)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "OuP0_EJ6ZTzw"
   },
   "source": [
    "# Main (Agent Routing Logic from Your Backend)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "id": "gwuAKPgHYpj_"
   },
   "outputs": [],
   "source": [
    "class QATestAgent:\n",
    "    def __init__(self, llm_agent):\n",
    "        self.llm_agent = llm_agent\n",
    "\n",
    "    def route_request(self, request: Dict) -> str:\n",
    "        agent_type = request.get(\"agentType\", \"chat\").lower()\n",
    "        requirement = request.get(\"requirement\", \"\")\n",
    "        feature_name = request.get(\"featureName\", \"Test Feature\")\n",
    "        test_name = request.get(\"testName\", \"test_case\")\n",
    "        language = request.get(\"language\", \"python\")\n",
    "        user_story = request.get(\"user_story\", requirement)\n",
    "        question = request.get(\"question\", requirement)\n",
    "\n",
    "        if agent_type in [\"gherkin\", \"test_generator\"]:\n",
    "            prompt = gherkin_prompt(requirement, feature_name)\n",
    "        elif agent_type in [\"selenium\", \"selenium_generator\"]:\n",
    "            prompt = selenium_prompt(requirement, test_name, language)\n",
    "        elif agent_type in [\"manual\", \"manual_testcases\"]:\n",
    "            prompt = manual_test_prompt(user_story)\n",
    "        else:\n",
    "            prompt = chat_prompt(question)\n",
    "\n",
    "        # Use PraisonAI LLM to generate the response\n",
    "        return self.llm_agent.start(prompt)\n",
    "\n",
    "# Create the LLM agent (PraisonAI)\n",
    "llm_agent = Agent(\n",
    "    instructions=\"You are a QA Test Generation Agent. Use the prompt to generate the required output.\",\n",
    "    tools=[]\n",
    ")\n",
    "\n",
    "qa_agent = QATestAgent(llm_agent)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "mGMAPiPBZbvF"
   },
   "source": [
    "# Usage Examples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000,
     "referenced_widgets": [
      "36fc7014ac8d46d9be0c449ea37159bd",
      "fbd8a1ff0c6c4fd1b5648e4c77450f32",
      "d3252a2e8cf94dea969f909d521a0b22",
      "f3b8444dca734338bad4d93bc0e73a23",
      "16cdd551272342dc9b90aea5052ddc87",
      "feaada3e9d6a4586a14110ef2b8ab62f",
      "ad9fe9c352c24614ad3de1b127b1c560",
      "101a7ed4a3bf4b8da056ad7d49fe6241"
     ]
    },
    "id": "pWr2KpJGYtBw",
    "outputId": "6e29c688-b256-4fac-f0fe-8d8fac1acf3f"
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╭─ </span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8; font-weight: bold\">Agent Info</span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\"> ────────────────────────────────────────────────────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #ff9b9b; text-decoration-color: #ff9b9b; font-weight: bold\">👤 Agent:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Agent</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #b4b4b3; text-decoration-color: #b4b4b3; font-weight: bold\">Role:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Assistant</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[38;2;210;227;200m╭─\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[1;38;2;210;227;200mAgent Info\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[38;2;210;227;200m───────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[38;2;210;227;200m─╮\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;255;155;155m👤 Agent:\u001b[0m \u001b[38;2;255;229;229mAgent\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;180;180;179mRole:\u001b[0m \u001b[38;2;255;229;229mAssistant\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "36fc7014ac8d46d9be0c449ea37159bd",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">Response generated in 8.6s</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2mResponse generated in 8.6s\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭───────────────────────────────────────────────────── Task ──────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Generate a Gherkin feature file for the following requirement: User login functionality with email and password <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Include:                                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Feature name: User Authentication                                                                            <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Multiple scenarios                                                                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Given-When-Then steps                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Background if needed                                                                                         <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Format as: Feature: User Authentication [Description]                                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Scenario: [Scenario Name] Given [precondition] When [action] Then [expected result]                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m────────────────────────────────────────────────────\u001b[0m\u001b[36m Task \u001b[0m\u001b[36m─────────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m Generate a Gherkin feature file for the following requirement: User login functionality with email and password \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Include:                                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mFeature name: User Authentication                                                                            \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mMultiple scenarios                                                                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mGiven-When-Then steps                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mBackground if needed                                                                                         \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Format as: Feature: User Authentication [Description]                                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Scenario: [Scenario Name] Given [precondition] When [action] Then [expected result]                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭─────────────────────────────────────────────────── Response ────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Feature:</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\"> User Authentication</span><span style=\"background-color: #272822\">                                                                                  </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  This feature allows users to log in to the application using their email and password. </span><span style=\"background-color: #272822\">                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  Successful login grants access to user-specific features and data.</span><span style=\"background-color: #272822\">                                          </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Background:</span><span style=\"background-color: #272822\">                                                                                                 </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">    Given </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user is on the login page</span><span style=\"background-color: #272822\">                                                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Scenario:</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\"> Successful login with valid credentials</span><span style=\"background-color: #272822\">                                                           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">    Given </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user has a registered account with email \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">user@example.com</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\" and password \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">password123</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">          </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">When </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the email \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">user@example.com</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                         </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the password \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">password123</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                            </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user clicks the login button</span><span style=\"background-color: #272822\">                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Then </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user should be redirected to the dashboard</span><span style=\"background-color: #272822\">                                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user should see a welcome message</span><span style=\"background-color: #272822\">                                                                 </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Scenario:</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\"> Unsuccessful login with incorrect password</span><span style=\"background-color: #272822\">                                                        </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">    Given </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user has a registered account with email \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">user@example.com</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">When </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the email \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">user@example.com</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                         </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the password \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">wrongpassword</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                          </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user clicks the login button</span><span style=\"background-color: #272822\">                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Then </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user should see an error message \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">Invalid email or password</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Scenario:</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\"> Unsuccessful login with unregistered email</span><span style=\"background-color: #272822\">                                                        </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">    When </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the email \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">unregistered@example.com</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                 </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the password \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">password123</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                            </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user clicks the login button</span><span style=\"background-color: #272822\">                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Then </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user should see an error message \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">Invalid email or password</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Scenario:</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\"> Unsuccessful login with empty email and password fields</span><span style=\"background-color: #272822\">                                           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">    When </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user leaves the email field empty</span><span style=\"background-color: #272822\">                                                                </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user leaves the password field empty</span><span style=\"background-color: #272822\">                                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user clicks the login button</span><span style=\"background-color: #272822\">                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Then </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user should see an error message \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">Email and password are required</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Scenario:</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\"> Unsuccessful login with empty password field</span><span style=\"background-color: #272822\">                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">    Given </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user has a registered account with email \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">user@example.com</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">When </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the email \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">user@example.com</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                         </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user leaves the password field empty</span><span style=\"background-color: #272822\">                                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user clicks the login button</span><span style=\"background-color: #272822\">                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Then </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user should see an error message \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">Password is required</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                          </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">  </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Scenario:</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\"> Unsuccessful login with empty email field</span><span style=\"background-color: #272822\">                                                         </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">    When </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user leaves the email field empty</span><span style=\"background-color: #272822\">                                                                </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user enters the password \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">password123</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                                            </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">And </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user clicks the login button</span><span style=\"background-color: #272822\">                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">Then </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">the user should see an error message \"</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">Email is required</span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">\"</span><span style=\"background-color: #272822\">                                             </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m──────────────────────────────────────────────────\u001b[0m\u001b[36m Response \u001b[0m\u001b[36m───────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m                                                                                                               \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mFeature\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m User Authentication\u001b[0m\u001b[48;2;39;40;34m                                                                                 \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mT\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m.\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mS\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m-\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m.\u001b[0m\u001b[48;2;39;40;34m                                         \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m  \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mBackground\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                                \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m    Given \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[48;2;39;40;34m                                                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m  \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mScenario\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m Successful login with valid credentials\u001b[0m\u001b[48;2;39;40;34m                                                          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m    Given \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m@\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m1\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m2\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m3\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m         \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mWhen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m@\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                        \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m1\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m2\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m3\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                           \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mk\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[48;2;39;40;34m                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mThen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[48;2;39;40;34m                                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[48;2;39;40;34m                                                                \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m  \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mScenario\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m Unsuccessful login with incorrect password\u001b[0m\u001b[48;2;39;40;34m                                                       \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m    Given \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m@\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mWhen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m@\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                        \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mn\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mg\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                         \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mk\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[48;2;39;40;34m                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mThen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mI\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mn\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m  \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mScenario\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m Unsuccessful login with unregistered email\u001b[0m\u001b[48;2;39;40;34m                                                       \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m    When \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mn\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mg\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mt\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m@\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m1\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m2\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m3\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                           \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mk\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[48;2;39;40;34m                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mThen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mI\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mn\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mv\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m  \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mScenario\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m Unsuccessful login with empty email and password fields\u001b[0m\u001b[48;2;39;40;34m                                          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m    When \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mv\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34my\u001b[0m\u001b[48;2;39;40;34m                                                               \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mv\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34my\u001b[0m\u001b[48;2;39;40;34m                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mk\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[48;2;39;40;34m                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mThen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mE\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mn\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mq\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m  \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mScenario\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m Unsuccessful login with empty password field\u001b[0m\u001b[48;2;39;40;34m                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m    Given \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m@\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mWhen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m@\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mx\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m.\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mc\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                        \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mv\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34my\u001b[0m\u001b[48;2;39;40;34m                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mk\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[48;2;39;40;34m                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mThen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mP\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mq\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                         \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m  \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mScenario\u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m:\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m Unsuccessful login with empty email field\u001b[0m\u001b[48;2;39;40;34m                                                        \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34m    When \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mv\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mf\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34my\u001b[0m\u001b[48;2;39;40;34m                                                               \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mp\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mw\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mp\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mw\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mo\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m1\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m2\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m3\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                                           \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mAnd \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mc\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mk\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mi\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mb\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[48;2;39;40;34m                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mThen \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mt\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mh\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mu\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ml\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mn\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mo\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mr\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mm\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ms\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34ma\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mg\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34me\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mE\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mm\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ma\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ml\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34ms\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mq\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mu\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mi\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mr\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34md\u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m\"\u001b[0m\u001b[48;2;39;40;34m                                            \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m                                                                                                               \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "=== Gherkin Generation ===\n",
      " ```gherkin\n",
      "Feature: User Authentication\n",
      "  This feature allows users to log in to the application using their email and password. \n",
      "  Successful login grants access to user-specific features and data.\n",
      "\n",
      "  Background:\n",
      "    Given the user is on the login page\n",
      "\n",
      "  Scenario: Successful login with valid credentials\n",
      "    Given the user has a registered account with email \"user@example.com\" and password \"password123\"\n",
      "    When the user enters the email \"user@example.com\"\n",
      "    And the user enters the password \"password123\"\n",
      "    And the user clicks the login button\n",
      "    Then the user should be redirected to the dashboard\n",
      "    And the user should see a welcome message\n",
      "\n",
      "  Scenario: Unsuccessful login with incorrect password\n",
      "    Given the user has a registered account with email \"user@example.com\"\n",
      "    When the user enters the email \"user@example.com\"\n",
      "    And the user enters the password \"wrongpassword\"\n",
      "    And the user clicks the login button\n",
      "    Then the user should see an error message \"Invalid email or password\"\n",
      "\n",
      "  Scenario: Unsuccessful login with unregistered email\n",
      "    When the user enters the email \"unregistered@example.com\"\n",
      "    And the user enters the password \"password123\"\n",
      "    And the user clicks the login button\n",
      "    Then the user should see an error message \"Invalid email or password\"\n",
      "\n",
      "  Scenario: Unsuccessful login with empty email and password fields\n",
      "    When the user leaves the email field empty\n",
      "    And the user leaves the password field empty\n",
      "    And the user clicks the login button\n",
      "    Then the user should see an error message \"Email and password are required\"\n",
      "\n",
      "  Scenario: Unsuccessful login with empty password field\n",
      "    Given the user has a registered account with email \"user@example.com\"\n",
      "    When the user enters the email \"user@example.com\"\n",
      "    And the user leaves the password field empty\n",
      "    And the user clicks the login button\n",
      "    Then the user should see an error message \"Password is required\"\n",
      "\n",
      "  Scenario: Unsuccessful login with empty email field\n",
      "    When the user leaves the email field empty\n",
      "    And the user enters the password \"password123\"\n",
      "    And the user clicks the login button\n",
      "    Then the user should see an error message \"Email is required\"\n",
      "```\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╭─ </span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8; font-weight: bold\">Agent Info</span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\"> ────────────────────────────────────────────────────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #ff9b9b; text-decoration-color: #ff9b9b; font-weight: bold\">👤 Agent:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Agent</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #b4b4b3; text-decoration-color: #b4b4b3; font-weight: bold\">Role:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Assistant</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[38;2;210;227;200m╭─\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[1;38;2;210;227;200mAgent Info\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[38;2;210;227;200m───────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[38;2;210;227;200m─╮\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;255;155;155m👤 Agent:\u001b[0m \u001b[38;2;255;229;229mAgent\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;180;180;179mRole:\u001b[0m \u001b[38;2;255;229;229mAssistant\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "d3252a2e8cf94dea969f909d521a0b22",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">Response generated in 11.4s</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2mResponse generated in 11.4s\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭───────────────────────────────────────────────────── Task ──────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Generate a Selenium test script in python for: Test login page with valid credentials                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Include:                                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Test name: test_login_valid                                                                                  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>WebDriver setup                                                                                              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Page object pattern                                                                                          <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Assertions                                                                                                   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Error handling                                                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m────────────────────────────────────────────────────\u001b[0m\u001b[36m Task \u001b[0m\u001b[36m─────────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m Generate a Selenium test script in python for: Test login page with valid credentials                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Include:                                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mTest name: test_login_valid                                                                                  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mWebDriver setup                                                                                              \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mPage object pattern                                                                                          \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mAssertions                                                                                                   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mError handling                                                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭─────────────────────────────────────────────────── Response ────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">from</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> selenium </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">import</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> webdriver</span><span style=\"background-color: #272822\">                                                                                </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">from</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> selenium.webdriver.common.by </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">import</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> By</span><span style=\"background-color: #272822\">                                                                   </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">from</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> selenium.webdriver.common.keys </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">import</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> Keys</span><span style=\"background-color: #272822\">                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">from</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> selenium.webdriver.support.ui </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">import</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> WebDriverWait</span><span style=\"background-color: #272822\">                                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">from</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> selenium.webdriver.support </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">import</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> expected_conditions </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">as</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> EC</span><span style=\"background-color: #272822\">                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">import</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> unittest</span><span style=\"background-color: #272822\">                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">class</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">LoginPage</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">:</span><span style=\"background-color: #272822\">                                                                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">__init__</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self, driver):</span><span style=\"background-color: #272822\">                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> driver</span><span style=\"background-color: #272822\">                                                                                  </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">email_input </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> (By</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">ID, </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'email'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)  </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Assuming the email input field has an ID 'email'</span><span style=\"background-color: #272822\">               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">password_input </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> (By</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">ID, </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'password'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)  </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Assuming the password input field has an ID 'password'</span><span style=\"background-color: #272822\">   </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_button </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> (By</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">ID, </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'loginButton'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)  </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Assuming the login button has an ID 'loginButton'</span><span style=\"background-color: #272822\">       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">dashboard </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> (By</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">ID, </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'dashboard'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)  </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Assuming the dashboard has an ID 'dashboard'</span><span style=\"background-color: #272822\">                 </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">welcome_message </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> (By</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">ID, </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'welcomeMessage'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)  </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Assuming the welcome message has an ID </span><span style=\"background-color: #272822\">           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\">'welcomeMessage'</span><span style=\"background-color: #272822\">                                                                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">enter_email</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self, email):</span><span style=\"background-color: #272822\">                                                                             </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        email_field </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">find_element(</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">*</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">email_input)</span><span style=\"background-color: #272822\">                                             </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        email_field</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">clear()</span><span style=\"background-color: #272822\">                                                                                   </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        email_field</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">send_keys(email)</span><span style=\"background-color: #272822\">                                                                          </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">enter_password</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self, password):</span><span style=\"background-color: #272822\">                                                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        password_field </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">find_element(</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">*</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">password_input)</span><span style=\"background-color: #272822\">                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        password_field</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">clear()</span><span style=\"background-color: #272822\">                                                                                </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        password_field</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">send_keys(password)</span><span style=\"background-color: #272822\">                                                                    </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">click_login</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self):</span><span style=\"background-color: #272822\">                                                                                    </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        login_btn </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">find_element(</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">*</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_button)</span><span style=\"background-color: #272822\">                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        login_btn</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">click()</span><span style=\"background-color: #272822\">                                                                                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">is_dashboard_displayed</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self):</span><span style=\"background-color: #272822\">                                                                         </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">try</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">:</span><span style=\"background-color: #272822\">                                                                                                  </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            WebDriverWait(self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver, </span><span style=\"color: #ae81ff; text-decoration-color: #ae81ff; background-color: #272822\">10</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">until(</span><span style=\"background-color: #272822\">                                                             </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">                EC</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">visibility_of_element_located(self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">dashboard)</span><span style=\"background-color: #272822\">                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            )</span><span style=\"background-color: #272822\">                                                                                                 </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">return</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">True</span><span style=\"background-color: #272822\">                                                                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">except</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">:</span><span style=\"background-color: #272822\">                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">return</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">False</span><span style=\"background-color: #272822\">                                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">get_welcome_message</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self):</span><span style=\"background-color: #272822\">                                                                            </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">try</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">:</span><span style=\"background-color: #272822\">                                                                                                  </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            welcome_msg </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> WebDriverWait(self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver, </span><span style=\"color: #ae81ff; text-decoration-color: #ae81ff; background-color: #272822\">10</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">until(</span><span style=\"background-color: #272822\">                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">                EC</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">visibility_of_element_located(self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">welcome_message)</span><span style=\"background-color: #272822\">                                        </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            )</span><span style=\"background-color: #272822\">                                                                                                 </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">return</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> welcome_msg</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">text</span><span style=\"background-color: #272822\">                                                                           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">except</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">:</span><span style=\"background-color: #272822\">                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">return</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">None</span><span style=\"background-color: #272822\">                                                                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">class</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">TestLogin</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(unittest</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">TestCase):</span><span style=\"background-color: #272822\">                                                                           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">setUp</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self):</span><span style=\"background-color: #272822\">                                                                                          </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> webdriver</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">Chrome()  </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Or use any other WebDriver</span><span style=\"background-color: #272822\">                                        </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">get(</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'http://example.com/login'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)  </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Replace with the actual login page URL</span><span style=\"background-color: #272822\">                 </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_page </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> LoginPage(self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver)</span><span style=\"background-color: #272822\">                                                              </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">test_login_valid</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self):</span><span style=\"background-color: #272822\">                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">try</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">:</span><span style=\"background-color: #272822\">                                                                                                  </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_page</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">enter_email(</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'user@example.com'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"background-color: #272822\">                                                   </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_page</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">enter_password(</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">'password123'</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"background-color: #272822\">                                                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_page</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">click_login()</span><span style=\"background-color: #272822\">                                                                     </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            </span><span style=\"color: #959077; text-decoration-color: #959077; background-color: #272822\"># Assertions</span><span style=\"background-color: #272822\">                                                                                      </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">assertTrue(self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_page</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">is_dashboard_displayed(), </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">\"Dashboard is not displayed\"</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"background-color: #272822\">           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            welcome_message </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">=</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">login_page</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">get_welcome_message()</span><span style=\"background-color: #272822\">                                           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">assertIsNotNone(welcome_message, </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">\"Welcome message is not displayed\"</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"background-color: #272822\">                         </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">assertIn(</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">\"Welcome\"</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">, welcome_message, </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">\"Welcome message does not contain 'Welcome'\"</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"background-color: #272822\">           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">except</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">Exception</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">as</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> e:</span><span style=\"background-color: #272822\">                                                                                </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">            self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">fail(</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">f\"Test failed due to an unexpected error: {</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">e</span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">}\"</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">)</span><span style=\"background-color: #272822\">                                         </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">def</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #a6e22e; text-decoration-color: #a6e22e; background-color: #272822\">tearDown</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">(self):</span><span style=\"background-color: #272822\">                                                                                       </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">        self</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">driver</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">quit()</span><span style=\"background-color: #272822\">                                                                                    </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #66d9ef; text-decoration-color: #66d9ef; background-color: #272822\">if</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> __name__ </span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">==</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\"> </span><span style=\"color: #e6db74; text-decoration-color: #e6db74; background-color: #272822\">\"__main__\"</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">:</span><span style=\"background-color: #272822\">                                                                                    </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\"> </span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">    unittest</span><span style=\"color: #ff4689; text-decoration-color: #ff4689; background-color: #272822\">.</span><span style=\"color: #f8f8f2; text-decoration-color: #f8f8f2; background-color: #272822\">main()</span><span style=\"background-color: #272822\">                                                                                           </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"background-color: #272822\">                                                                                                               </span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> This script uses the Page Object Pattern to encapsulate the login page elements and actions. It includes a test <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> case <span style=\"color: #008080; text-decoration-color: #008080; background-color: #000000; font-weight: bold\">test_login_valid</span> that verifies successful login with valid credentials. The script also includes error     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> handling to catch unexpected exceptions during the test execution.                                              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m──────────────────────────────────────────────────\u001b[0m\u001b[36m Response \u001b[0m\u001b[36m───────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m                                                                                                               \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mselenium\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwebdriver\u001b[0m\u001b[48;2;39;40;34m                                                                               \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mselenium\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwebdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcommon\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mby\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mBy\u001b[0m\u001b[48;2;39;40;34m                                                                  \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mselenium\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwebdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mcommon\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mkeys\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mKeys\u001b[0m\u001b[48;2;39;40;34m                                                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mselenium\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwebdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msupport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mui\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mWebDriverWait\u001b[0m\u001b[48;2;39;40;34m                                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mfrom\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mselenium\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwebdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msupport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mexpected_conditions\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mEC\u001b[0m\u001b[48;2;39;40;34m                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34mimport\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34munittest\u001b[0m\u001b[48;2;39;40;34m                                                                                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mclass\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mLoginPage\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34m__init__\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[48;2;39;40;34m                                                                                 \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34memail_input\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mBy\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mID\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34memail\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m  \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Assuming the email input field has an ID 'email'\u001b[0m\u001b[48;2;39;40;34m              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpassword_input\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mBy\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mID\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mpassword\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m  \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Assuming the password input field has an ID 'password'\u001b[0m\u001b[48;2;39;40;34m  \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_button\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mBy\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mID\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mloginButton\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m  \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Assuming the login button has an ID 'loginButton'\u001b[0m\u001b[48;2;39;40;34m      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdashboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mBy\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mID\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mdashboard\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m  \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Assuming the dashboard has an ID 'dashboard'\u001b[0m\u001b[48;2;39;40;34m                \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwelcome_message\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mBy\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mID\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mwelcomeMessage\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m  \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Assuming the welcome message has an ID \u001b[0m\u001b[48;2;39;40;34m          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m'welcomeMessage'\u001b[0m\u001b[48;2;39;40;34m                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34menter_email\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34memail\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                            \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34memail_field\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfind_element\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34memail_input\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                            \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34memail_field\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclear\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                                  \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34memail_field\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msend_keys\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34memail\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                         \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34menter_password\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpassword\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpassword_field\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfind_element\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpassword_input\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpassword_field\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclear\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                               \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpassword_field\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34msend_keys\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mpassword\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                   \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mclick_login\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                   \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_btn\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfind_element\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m*\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_button\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_btn\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclick\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mis_dashboard_displayed\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                        \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mtry\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                                 \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mWebDriverWait\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34muntil\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[48;2;39;40;34m                                                            \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m                \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mEC\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvisibility_of_element_located\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdashboard\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                                                \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mreturn\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mTrue\u001b[0m\u001b[48;2;39;40;34m                                                                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mexcept\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mreturn\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mFalse\u001b[0m\u001b[48;2;39;40;34m                                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mget_welcome_message\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                           \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mtry\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                                 \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwelcome_msg\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mWebDriverWait\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;174;129;255;48;2;39;40;34m10\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34muntil\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[48;2;39;40;34m                                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m                \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mEC\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mvisibility_of_element_located\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwelcome_message\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                       \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                                                \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mreturn\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwelcome_msg\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mtext\u001b[0m\u001b[48;2;39;40;34m                                                                          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mexcept\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mreturn\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mNone\u001b[0m\u001b[48;2;39;40;34m                                                                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mclass\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mTestLogin\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34munittest\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mTestCase\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34msetUp\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                         \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwebdriver\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mChrome\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m  \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Or use any other WebDriver\u001b[0m\u001b[48;2;39;40;34m                                       \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mget\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mhttp://example.com/login\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m  \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Replace with the actual login page URL\u001b[0m\u001b[48;2;39;40;34m                \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_page\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mLoginPage\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mtest_login_valid\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                              \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mtry\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                                 \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_page\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menter_email\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34muser@example.com\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                  \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_page\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34menter_password\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mpassword123\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_page\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mclick_login\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                    \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;149;144;119;48;2;39;40;34m# Assertions\u001b[0m\u001b[48;2;39;40;34m                                                                                     \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34massertTrue\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_page\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mis_dashboard_displayed\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mDashboard is not displayed\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwelcome_message\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m=\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mlogin_page\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mget_welcome_message\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34massertIsNotNone\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwelcome_message\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mWelcome message is not displayed\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                        \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34massertIn\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mWelcome\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mwelcome_message\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m,\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mWelcome message does not contain \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mWelcome\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m'\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mexcept\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mException\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mas\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34me\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                               \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m            \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mfail\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mf\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34mTest failed due to an unexpected error: \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m{\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34me\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m}\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                        \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mdef\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;166;226;46;48;2;39;40;34mtearDown\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                      \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m        \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mself\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mdriver\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mquit\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                                   \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[48;2;39;40;34m                                                                                                             \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;102;217;239;48;2;39;40;34mif\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m__name__\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m==\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m \u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m__main__\u001b[0m\u001b[38;2;230;219;116;48;2;39;40;34m\"\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m:\u001b[0m\u001b[48;2;39;40;34m                                                                                   \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m    \u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34munittest\u001b[0m\u001b[38;2;255;70;137;48;2;39;40;34m.\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34mmain\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m(\u001b[0m\u001b[38;2;248;248;242;48;2;39;40;34m)\u001b[0m\u001b[48;2;39;40;34m                                                                                          \u001b[0m\u001b[48;2;39;40;34m \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[48;2;39;40;34m                                                                                                               \u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m This script uses the Page Object Pattern to encapsulate the login page elements and actions. It includes a test \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m case \u001b[1;36;40mtest_login_valid\u001b[0m that verifies successful login with valid credentials. The script also includes error     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m handling to catch unexpected exceptions during the test execution.                                              \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "=== Selenium Generation ===\n",
      " ```python\n",
      "from selenium import webdriver\n",
      "from selenium.webdriver.common.by import By\n",
      "from selenium.webdriver.common.keys import Keys\n",
      "from selenium.webdriver.support.ui import WebDriverWait\n",
      "from selenium.webdriver.support import expected_conditions as EC\n",
      "import unittest\n",
      "\n",
      "class LoginPage:\n",
      "    def __init__(self, driver):\n",
      "        self.driver = driver\n",
      "        self.email_input = (By.ID, 'email')  # Assuming the email input field has an ID 'email'\n",
      "        self.password_input = (By.ID, 'password')  # Assuming the password input field has an ID 'password'\n",
      "        self.login_button = (By.ID, 'loginButton')  # Assuming the login button has an ID 'loginButton'\n",
      "        self.dashboard = (By.ID, 'dashboard')  # Assuming the dashboard has an ID 'dashboard'\n",
      "        self.welcome_message = (By.ID, 'welcomeMessage')  # Assuming the welcome message has an ID 'welcomeMessage'\n",
      "\n",
      "    def enter_email(self, email):\n",
      "        email_field = self.driver.find_element(*self.email_input)\n",
      "        email_field.clear()\n",
      "        email_field.send_keys(email)\n",
      "\n",
      "    def enter_password(self, password):\n",
      "        password_field = self.driver.find_element(*self.password_input)\n",
      "        password_field.clear()\n",
      "        password_field.send_keys(password)\n",
      "\n",
      "    def click_login(self):\n",
      "        login_btn = self.driver.find_element(*self.login_button)\n",
      "        login_btn.click()\n",
      "\n",
      "    def is_dashboard_displayed(self):\n",
      "        try:\n",
      "            WebDriverWait(self.driver, 10).until(\n",
      "                EC.visibility_of_element_located(self.dashboard)\n",
      "            )\n",
      "            return True\n",
      "        except:\n",
      "            return False\n",
      "\n",
      "    def get_welcome_message(self):\n",
      "        try:\n",
      "            welcome_msg = WebDriverWait(self.driver, 10).until(\n",
      "                EC.visibility_of_element_located(self.welcome_message)\n",
      "            )\n",
      "            return welcome_msg.text\n",
      "        except:\n",
      "            return None\n",
      "\n",
      "class TestLogin(unittest.TestCase):\n",
      "    def setUp(self):\n",
      "        self.driver = webdriver.Chrome()  # Or use any other WebDriver\n",
      "        self.driver.get('http://example.com/login')  # Replace with the actual login page URL\n",
      "        self.login_page = LoginPage(self.driver)\n",
      "\n",
      "    def test_login_valid(self):\n",
      "        try:\n",
      "            self.login_page.enter_email('user@example.com')\n",
      "            self.login_page.enter_password('password123')\n",
      "            self.login_page.click_login()\n",
      "\n",
      "            # Assertions\n",
      "            self.assertTrue(self.login_page.is_dashboard_displayed(), \"Dashboard is not displayed\")\n",
      "            welcome_message = self.login_page.get_welcome_message()\n",
      "            self.assertIsNotNone(welcome_message, \"Welcome message is not displayed\")\n",
      "            self.assertIn(\"Welcome\", welcome_message, \"Welcome message does not contain 'Welcome'\")\n",
      "        except Exception as e:\n",
      "            self.fail(f\"Test failed due to an unexpected error: {e}\")\n",
      "\n",
      "    def tearDown(self):\n",
      "        self.driver.quit()\n",
      "\n",
      "if __name__ == \"__main__\":\n",
      "    unittest.main()\n",
      "```\n",
      "\n",
      "This script uses the Page Object Pattern to encapsulate the login page elements and actions. It includes a test case `test_login_valid` that verifies successful login with valid credentials. The script also includes error handling to catch unexpected exceptions during the test execution.\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╭─ </span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8; font-weight: bold\">Agent Info</span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\"> ────────────────────────────────────────────────────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #ff9b9b; text-decoration-color: #ff9b9b; font-weight: bold\">👤 Agent:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Agent</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #b4b4b3; text-decoration-color: #b4b4b3; font-weight: bold\">Role:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Assistant</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[38;2;210;227;200m╭─\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[1;38;2;210;227;200mAgent Info\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[38;2;210;227;200m───────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[38;2;210;227;200m─╮\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;255;155;155m👤 Agent:\u001b[0m \u001b[38;2;255;229;229mAgent\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;180;180;179mRole:\u001b[0m \u001b[38;2;255;229;229mAssistant\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "16cdd551272342dc9b90aea5052ddc87",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">Response generated in 8.5s</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2mResponse generated in 8.5s\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭───────────────────────────────────────────────────── Task ──────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Generate manual test cases for this user story: As a user, I want to login to the application so that I can     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> access my account                                                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Include:                                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Test case ID                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Test steps                                                                                                   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Expected results                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Test data                                                                                                    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Priority levels                                                                                              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Format as: Test Case ID: TC001 Test Steps:                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 1 </span>[step]                                                                                                       <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 2 </span>[step] Expected Result: [result] Priority: [High/Medium/Low]                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m────────────────────────────────────────────────────\u001b[0m\u001b[36m Task \u001b[0m\u001b[36m─────────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m Generate manual test cases for this user story: As a user, I want to login to the application so that I can     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m access my account                                                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Include:                                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mTest case ID                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mTest steps                                                                                                   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mExpected results                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mTest data                                                                                                    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mPriority levels                                                                                              \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Format as: Test Case ID: TC001 Test Steps:                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 1 \u001b[0m[step]                                                                                                       \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 2 \u001b[0m[step] Expected Result: [result] Priority: [High/Medium/Low]                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭─────────────────────────────────────────────────── Response ────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Case ID: TC001                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Steps:                                                                                                     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 1 </span>Navigate to the application login page.                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 2 </span>Enter a valid email address \"user@example.com\" in the email field.                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 3 </span>Enter a valid password \"password123\" in the password field.                                                  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 4 </span>Click the login button.                                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Expected Result: The user is successfully logged in and redirected to the dashboard. A welcome message is    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>displayed.                                                                                                   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Test Data: Email - \"user@example.com\", Password - \"password123\"                                              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Priority: High                                                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">───────────────────────────────────────────────────────────────────────────────────────────────────────────────</span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Case ID: TC002                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Steps:                                                                                                     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 1 </span>Navigate to the application login page.                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 2 </span>Enter a valid email address \"user@example.com\" in the email field.                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 3 </span>Enter an incorrect password \"wrongpassword\" in the password field.                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 4 </span>Click the login button.                                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Expected Result: An error message \"Invalid email or password\" is displayed. The user remains on the login    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>page.                                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Test Data: Email - \"user@example.com\", Password - \"wrongpassword\"                                            <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Priority: High                                                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">───────────────────────────────────────────────────────────────────────────────────────────────────────────────</span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Case ID: TC003                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Steps:                                                                                                     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 1 </span>Navigate to the application login page.                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 2 </span>Enter an unregistered email address \"unregistered@example.com\" in the email field.                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 3 </span>Enter any password \"password123\" in the password field.                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 4 </span>Click the login button.                                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Expected Result: An error message \"Invalid email or password\" is displayed. The user remains on the login    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>page.                                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Test Data: Email - \"unregistered@example.com\", Password - \"password123\"                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Priority: High                                                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">───────────────────────────────────────────────────────────────────────────────────────────────────────────────</span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Case ID: TC004                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Steps:                                                                                                     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 1 </span>Navigate to the application login page.                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 2 </span>Leave the email field empty.                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 3 </span>Leave the password field empty.                                                                              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 4 </span>Click the login button.                                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Expected Result: An error message \"Email and password are required\" is displayed. The user remains on the    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>login page.                                                                                                  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Test Data: Email - \"\", Password - \"\"                                                                         <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Priority: Medium                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">───────────────────────────────────────────────────────────────────────────────────────────────────────────────</span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Case ID: TC005                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Steps:                                                                                                     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 1 </span>Navigate to the application login page.                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 2 </span>Enter a valid email address \"user@example.com\" in the email field.                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 3 </span>Leave the password field empty.                                                                              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 4 </span>Click the login button.                                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Expected Result: An error message \"Password is required\" is displayed. The user remains on the login page.   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Test Data: Email - \"user@example.com\", Password - \"\"                                                         <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Priority: Medium                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000\">───────────────────────────────────────────────────────────────────────────────────────────────────────────────</span> <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Case ID: TC006                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Test Steps:                                                                                                     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 1 </span>Navigate to the application login page.                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 2 </span>Leave the email field empty.                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 3 </span>Enter a valid password \"password123\" in the password field.                                                  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> 4 </span>Click the login button.                                                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Expected Result: An error message \"Email is required\" is displayed. The user remains on the login page.      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Test Data: Email - \"\", Password - \"password123\"                                                              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>Priority: Medium                                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m──────────────────────────────────────────────────\u001b[0m\u001b[36m Response \u001b[0m\u001b[36m───────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Case ID: TC001                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Steps:                                                                                                     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 1 \u001b[0mNavigate to the application login page.                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 2 \u001b[0mEnter a valid email address \"user@example.com\" in the email field.                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 3 \u001b[0mEnter a valid password \"password123\" in the password field.                                                  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 4 \u001b[0mClick the login button.                                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mExpected Result: The user is successfully logged in and redirected to the dashboard. A welcome message is    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mdisplayed.                                                                                                   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mTest Data: Email - \"user@example.com\", Password - \"password123\"                                              \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mPriority: High                                                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[33m───────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Case ID: TC002                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Steps:                                                                                                     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 1 \u001b[0mNavigate to the application login page.                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 2 \u001b[0mEnter a valid email address \"user@example.com\" in the email field.                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 3 \u001b[0mEnter an incorrect password \"wrongpassword\" in the password field.                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 4 \u001b[0mClick the login button.                                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mExpected Result: An error message \"Invalid email or password\" is displayed. The user remains on the login    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mpage.                                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mTest Data: Email - \"user@example.com\", Password - \"wrongpassword\"                                            \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mPriority: High                                                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[33m───────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Case ID: TC003                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Steps:                                                                                                     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 1 \u001b[0mNavigate to the application login page.                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 2 \u001b[0mEnter an unregistered email address \"unregistered@example.com\" in the email field.                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 3 \u001b[0mEnter any password \"password123\" in the password field.                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 4 \u001b[0mClick the login button.                                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mExpected Result: An error message \"Invalid email or password\" is displayed. The user remains on the login    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mpage.                                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mTest Data: Email - \"unregistered@example.com\", Password - \"password123\"                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mPriority: High                                                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[33m───────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Case ID: TC004                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Steps:                                                                                                     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 1 \u001b[0mNavigate to the application login page.                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 2 \u001b[0mLeave the email field empty.                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 3 \u001b[0mLeave the password field empty.                                                                              \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 4 \u001b[0mClick the login button.                                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mExpected Result: An error message \"Email and password are required\" is displayed. The user remains on the    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mlogin page.                                                                                                  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mTest Data: Email - \"\", Password - \"\"                                                                         \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mPriority: Medium                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[33m───────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Case ID: TC005                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Steps:                                                                                                     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 1 \u001b[0mNavigate to the application login page.                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 2 \u001b[0mEnter a valid email address \"user@example.com\" in the email field.                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 3 \u001b[0mLeave the password field empty.                                                                              \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 4 \u001b[0mClick the login button.                                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mExpected Result: An error message \"Password is required\" is displayed. The user remains on the login page.   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mTest Data: Email - \"user@example.com\", Password - \"\"                                                         \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mPriority: Medium                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[33m───────────────────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Case ID: TC006                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Test Steps:                                                                                                     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 1 \u001b[0mNavigate to the application login page.                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 2 \u001b[0mLeave the email field empty.                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 3 \u001b[0mEnter a valid password \"password123\" in the password field.                                                  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m 4 \u001b[0mClick the login button.                                                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mExpected Result: An error message \"Email is required\" is displayed. The user remains on the login page.      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mTest Data: Email - \"\", Password - \"password123\"                                                              \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mPriority: Medium                                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "=== Manual Test Generation ===\n",
      " Test Case ID: TC001  \n",
      "Test Steps:  \n",
      "1. Navigate to the application login page.  \n",
      "2. Enter a valid email address \"user@example.com\" in the email field.  \n",
      "3. Enter a valid password \"password123\" in the password field.  \n",
      "4. Click the login button.  \n",
      "Expected Result: The user is successfully logged in and redirected to the dashboard. A welcome message is displayed.  \n",
      "Test Data: Email - \"user@example.com\", Password - \"password123\"  \n",
      "Priority: High  \n",
      "\n",
      "---\n",
      "\n",
      "Test Case ID: TC002  \n",
      "Test Steps:  \n",
      "1. Navigate to the application login page.  \n",
      "2. Enter a valid email address \"user@example.com\" in the email field.  \n",
      "3. Enter an incorrect password \"wrongpassword\" in the password field.  \n",
      "4. Click the login button.  \n",
      "Expected Result: An error message \"Invalid email or password\" is displayed. The user remains on the login page.  \n",
      "Test Data: Email - \"user@example.com\", Password - \"wrongpassword\"  \n",
      "Priority: High  \n",
      "\n",
      "---\n",
      "\n",
      "Test Case ID: TC003  \n",
      "Test Steps:  \n",
      "1. Navigate to the application login page.  \n",
      "2. Enter an unregistered email address \"unregistered@example.com\" in the email field.  \n",
      "3. Enter any password \"password123\" in the password field.  \n",
      "4. Click the login button.  \n",
      "Expected Result: An error message \"Invalid email or password\" is displayed. The user remains on the login page.  \n",
      "Test Data: Email - \"unregistered@example.com\", Password - \"password123\"  \n",
      "Priority: High  \n",
      "\n",
      "---\n",
      "\n",
      "Test Case ID: TC004  \n",
      "Test Steps:  \n",
      "1. Navigate to the application login page.  \n",
      "2. Leave the email field empty.  \n",
      "3. Leave the password field empty.  \n",
      "4. Click the login button.  \n",
      "Expected Result: An error message \"Email and password are required\" is displayed. The user remains on the login page.  \n",
      "Test Data: Email - \"\", Password - \"\"  \n",
      "Priority: Medium  \n",
      "\n",
      "---\n",
      "\n",
      "Test Case ID: TC005  \n",
      "Test Steps:  \n",
      "1. Navigate to the application login page.  \n",
      "2. Enter a valid email address \"user@example.com\" in the email field.  \n",
      "3. Leave the password field empty.  \n",
      "4. Click the login button.  \n",
      "Expected Result: An error message \"Password is required\" is displayed. The user remains on the login page.  \n",
      "Test Data: Email - \"user@example.com\", Password - \"\"  \n",
      "Priority: Medium  \n",
      "\n",
      "---\n",
      "\n",
      "Test Case ID: TC006  \n",
      "Test Steps:  \n",
      "1. Navigate to the application login page.  \n",
      "2. Leave the email field empty.  \n",
      "3. Enter a valid password \"password123\" in the password field.  \n",
      "4. Click the login button.  \n",
      "Expected Result: An error message \"Email is required\" is displayed. The user remains on the login page.  \n",
      "Test Data: Email - \"\", Password - \"password123\"  \n",
      "Priority: Medium\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╭─ </span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8; font-weight: bold\">Agent Info</span><span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\"> ────────────────────────────────────────────────────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #ff9b9b; text-decoration-color: #ff9b9b; font-weight: bold\">👤 Agent:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Agent</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>  <span style=\"color: #b4b4b3; text-decoration-color: #b4b4b3; font-weight: bold\">Role:</span> <span style=\"color: #ffe5e5; text-decoration-color: #ffe5e5\">Assistant</span>                                                                                                <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>                                                                                                                 <span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">│</span>\n",
       "<span style=\"color: #d2e3c8; text-decoration-color: #d2e3c8\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[38;2;210;227;200m╭─\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[1;38;2;210;227;200mAgent Info\u001b[0m\u001b[38;2;210;227;200m \u001b[0m\u001b[38;2;210;227;200m───────────────────────────────────────────────────────────────────────────────────────────────────\u001b[0m\u001b[38;2;210;227;200m─╮\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;255;155;155m👤 Agent:\u001b[0m \u001b[38;2;255;229;229mAgent\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m  \u001b[1;38;2;180;180;179mRole:\u001b[0m \u001b[38;2;255;229;229mAssistant\u001b[0m                                                                                                \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m│\u001b[0m                                                                                                                 \u001b[38;2;210;227;200m│\u001b[0m\n",
       "\u001b[38;2;210;227;200m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "application/vnd.jupyter.widget-view+json": {
       "model_id": "ad9fe9c352c24614ad3de1b127b1c560",
       "version_major": 2,
       "version_minor": 0
      },
      "text/plain": [
       "Output()"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ],
      "text/plain": []
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\">\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7f7f7f; text-decoration-color: #7f7f7f\">Response generated in 11.6s</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2mResponse generated in 11.6s\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭───────────────────────────────────────────────────── Task ──────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Answer this testing question: What is the difference between unit testing and integration testing?              <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> Provide:                                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Clear explanation                                                                                            <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Best practices                                                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Examples if relevant                                                                                         <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m────────────────────────────────────────────────────\u001b[0m\u001b[36m Task \u001b[0m\u001b[36m─────────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m Answer this testing question: What is the difference between unit testing and integration testing?              \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m Provide:                                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mClear explanation                                                                                            \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mBest practices                                                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mExamples if relevant                                                                                         \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #008080; text-decoration-color: #008080\">╭─────────────────────────────────────────────────── Response ────────────────────────────────────────────────────╮</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Explanation:</span>                                                                                                    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Unit Testing:</span>                                                                                                   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Unit testing involves testing individual components or functions of a software application in isolation. The <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>primary goal is to validate that each unit of the software performs as expected.                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>It is typically performed by developers during the development phase.                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Unit tests are usually automated and written using testing frameworks such as JUnit for Java, NUnit for      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>.NET, or PyTest for Python.                                                                                  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>These tests focus on a single \"unit\" of code, which could be a function, method, or class, and ensure that   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>it behaves correctly under various conditions.                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Integration Testing:</span>                                                                                            <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Integration testing focuses on testing the interactions between different components or modules of a         <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>software application.                                                                                        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>The goal is to identify issues that occur when units are combined and to ensure that integrated components   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>work together as intended.                                                                                   <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>It is usually performed after unit testing and can be done by developers or dedicated testers.               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Integration tests can be automated or manual and often involve testing interfaces, data flow, and            <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>communication between modules.                                                                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Best Practices:</span>                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Unit Testing Best Practices:</span>                                                                                    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Write tests for all critical paths and edge cases.                                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Keep tests small and focused on a single functionality.                                                      <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Use mock objects to isolate the unit being tested from its dependencies.                                     <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Ensure tests are fast to execute to encourage frequent runs.                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Maintain clear and descriptive test names to indicate their purpose.                                         <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Integration Testing Best Practices:</span>                                                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Test interactions between modules in a realistic environment that mimics production.                         <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Focus on testing interfaces and data exchange between components.                                            <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Use real data where possible to simulate actual usage scenarios.                                             <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Prioritize testing critical integration points that are prone to failure.                                    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Automate integration tests to ensure they are run consistently and frequently.                               <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Examples:</span>                                                                                                       <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Unit Testing Example:</span>                                                                                           <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Testing a function that calculates the sum of two numbers. The test would check if the function returns the  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>correct sum for various input values, such as positive numbers, negative numbers, and zero.                  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"font-weight: bold\">Integration Testing Example:</span>                                                                                    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\"> • </span>Testing the interaction between a user authentication module and a database. The test would verify that the  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>authentication module correctly queries the database to validate user credentials and handles various        <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> <span style=\"color: #808000; text-decoration-color: #808000; font-weight: bold\">   </span>scenarios like successful login, incorrect password, and unregistered email.                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span>                                                                                                                 <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> In summary, unit testing focuses on individual components in isolation, while integration testing ensures that  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> combined components work together as expected. Both types of testing are crucial for delivering a reliable and  <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">│</span> robust software application.                                                                                    <span style=\"color: #008080; text-decoration-color: #008080\">│</span>\n",
       "<span style=\"color: #008080; text-decoration-color: #008080\">╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[36m╭─\u001b[0m\u001b[36m──────────────────────────────────────────────────\u001b[0m\u001b[36m Response \u001b[0m\u001b[36m───────────────────────────────────────────────────\u001b[0m\u001b[36m─╮\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mExplanation:\u001b[0m                                                                                                    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mUnit Testing:\u001b[0m                                                                                                   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mUnit testing involves testing individual components or functions of a software application in isolation. The \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mprimary goal is to validate that each unit of the software performs as expected.                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mIt is typically performed by developers during the development phase.                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mUnit tests are usually automated and written using testing frameworks such as JUnit for Java, NUnit for      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0m.NET, or PyTest for Python.                                                                                  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mThese tests focus on a single \"unit\" of code, which could be a function, method, or class, and ensure that   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mit behaves correctly under various conditions.                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mIntegration Testing:\u001b[0m                                                                                            \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mIntegration testing focuses on testing the interactions between different components or modules of a         \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0msoftware application.                                                                                        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mThe goal is to identify issues that occur when units are combined and to ensure that integrated components   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mwork together as intended.                                                                                   \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mIt is usually performed after unit testing and can be done by developers or dedicated testers.               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mIntegration tests can be automated or manual and often involve testing interfaces, data flow, and            \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mcommunication between modules.                                                                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mBest Practices:\u001b[0m                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mUnit Testing Best Practices:\u001b[0m                                                                                    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mWrite tests for all critical paths and edge cases.                                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mKeep tests small and focused on a single functionality.                                                      \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mUse mock objects to isolate the unit being tested from its dependencies.                                     \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mEnsure tests are fast to execute to encourage frequent runs.                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mMaintain clear and descriptive test names to indicate their purpose.                                         \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mIntegration Testing Best Practices:\u001b[0m                                                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mTest interactions between modules in a realistic environment that mimics production.                         \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mFocus on testing interfaces and data exchange between components.                                            \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mUse real data where possible to simulate actual usage scenarios.                                             \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mPrioritize testing critical integration points that are prone to failure.                                    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mAutomate integration tests to ensure they are run consistently and frequently.                               \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mExamples:\u001b[0m                                                                                                       \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mUnit Testing Example:\u001b[0m                                                                                           \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mTesting a function that calculates the sum of two numbers. The test would check if the function returns the  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mcorrect sum for various input values, such as positive numbers, negative numbers, and zero.                  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1mIntegration Testing Example:\u001b[0m                                                                                    \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m • \u001b[0mTesting the interaction between a user authentication module and a database. The test would verify that the  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mauthentication module correctly queries the database to validate user credentials and handles various        \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m \u001b[1;33m   \u001b[0mscenarios like successful login, incorrect password, and unregistered email.                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m                                                                                                                 \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m In summary, unit testing focuses on individual components in isolation, while integration testing ensures that  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m combined components work together as expected. Both types of testing are crucial for delivering a reliable and  \u001b[36m│\u001b[0m\n",
       "\u001b[36m│\u001b[0m robust software application.                                                                                    \u001b[36m│\u001b[0m\n",
       "\u001b[36m╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯\u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\n",
      "=== Chat Assistance ===\n",
      " **Explanation:**\n",
      "\n",
      "**Unit Testing:**\n",
      "- Unit testing involves testing individual components or functions of a software application in isolation. The primary goal is to validate that each unit of the software performs as expected.\n",
      "- It is typically performed by developers during the development phase.\n",
      "- Unit tests are usually automated and written using testing frameworks such as JUnit for Java, NUnit for .NET, or PyTest for Python.\n",
      "- These tests focus on a single \"unit\" of code, which could be a function, method, or class, and ensure that it behaves correctly under various conditions.\n",
      "\n",
      "**Integration Testing:**\n",
      "- Integration testing focuses on testing the interactions between different components or modules of a software application.\n",
      "- The goal is to identify issues that occur when units are combined and to ensure that integrated components work together as intended.\n",
      "- It is usually performed after unit testing and can be done by developers or dedicated testers.\n",
      "- Integration tests can be automated or manual and often involve testing interfaces, data flow, and communication between modules.\n",
      "\n",
      "**Best Practices:**\n",
      "\n",
      "**Unit Testing Best Practices:**\n",
      "- Write tests for all critical paths and edge cases.\n",
      "- Keep tests small and focused on a single functionality.\n",
      "- Use mock objects to isolate the unit being tested from its dependencies.\n",
      "- Ensure tests are fast to execute to encourage frequent runs.\n",
      "- Maintain clear and descriptive test names to indicate their purpose.\n",
      "\n",
      "**Integration Testing Best Practices:**\n",
      "- Test interactions between modules in a realistic environment that mimics production.\n",
      "- Focus on testing interfaces and data exchange between components.\n",
      "- Use real data where possible to simulate actual usage scenarios.\n",
      "- Prioritize testing critical integration points that are prone to failure.\n",
      "- Automate integration tests to ensure they are run consistently and frequently.\n",
      "\n",
      "**Examples:**\n",
      "\n",
      "**Unit Testing Example:**\n",
      "- Testing a function that calculates the sum of two numbers. The test would check if the function returns the correct sum for various input values, such as positive numbers, negative numbers, and zero.\n",
      "\n",
      "**Integration Testing Example:**\n",
      "- Testing the interaction between a user authentication module and a database. The test would verify that the authentication module correctly queries the database to validate user credentials and handles various scenarios like successful login, incorrect password, and unregistered email.\n",
      "\n",
      "In summary, unit testing focuses on individual components in isolation, while integration testing ensures that combined components work together as expected. Both types of testing are crucial for delivering a reliable and robust software application.\n"
     ]
    }
   ],
   "source": [
    "# Example 1: Generate Gherkin\n",
    "gherkin_result = qa_agent.route_request({\n",
    "    \"agentType\": \"gherkin\",\n",
    "    \"requirement\": \"User login functionality with email and password\",\n",
    "    \"featureName\": \"User Authentication\"\n",
    "})\n",
    "print(\"=== Gherkin Generation ===\\n\", gherkin_result)\n",
    "\n",
    "# Example 2: Generate Selenium\n",
    "selenium_result = qa_agent.route_request({\n",
    "    \"agentType\": \"selenium\",\n",
    "    \"requirement\": \"Test login page with valid credentials\",\n",
    "    \"testName\": \"test_login_valid\",\n",
    "    \"language\": \"python\"\n",
    "})\n",
    "print(\"\\n=== Selenium Generation ===\\n\", selenium_result)\n",
    "\n",
    "# Example 3: Generate Manual Tests\n",
    "manual_result = qa_agent.route_request({\n",
    "    \"agentType\": \"manual\",\n",
    "    \"requirement\": \"As a user, I want to login to the application so that I can access my account\"\n",
    "})\n",
    "print(\"\\n=== Manual Test Generation ===\\n\", manual_result)\n",
    "\n",
    "# Example 4: Chat Assistance\n",
    "chat_result = qa_agent.route_request({\n",
    "    \"agentType\": \"chat\",\n",
    "    \"requirement\": \"What is the difference between unit testing and integration testing?\"\n",
    "})\n",
    "print(\"\\n=== Chat Assistance ===\\n\", chat_result)"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
